
exports.orm = {
    // 插入行（由中间件根据主键写入不同分区）
    insert: function (table, query, callback) {
        // query = {
        //     rows: [
        //         {
        //             field1: 'value1',
        //             field2: 'value2',
        //             field3: 'value3',
        //         }
        //     ]
        // }
    },
    // 删除行（各分区）
    delete: function (table, query, callback) {
        query = {
            where: [
                // 数组内第一个元素和第二个元素都是字符串，说明是一个简单表达式，否则是嵌套表达式
                'and / or',
                ['field1', 'eq / neq / like', 'value1'],
                ['field2', 'eq / neq / like', 'value2'],
                [
                    'and / or',
                    ['field1', 'eq / neq / like', 'value1'],
                ]
            ],
            // order: [], // 删除则先拿到所有主键后再以主键为索引进行删除，但支持order的技术成本仍然比较高，对性能造成影响
            limit: [],
        }
    },
    // 更新行（返回变更总行数、分区行数）
    update: function (table, query, callback) {
        query = {
            where: [],
            limit: [],
        }
    },
    // 选取列表（返回数组，建议保留主键以确定来源分区）
    select: function (table, query, callback) {
        query = {
            where: [],
            limit: [],
        }
    },
    // 选择行（返回对象，建议保留主键以确定来源分区）
    find: function (table, query, callback) {
        query = {
            where: [],
        }
    },
};
